Inverters and controllers for operating inverters are known in the art. An inverter changes a DC voltage to an AC voltage. Typically this is done by switching the voltage applied to an output line between a positive DC voltage and a negative DC voltage in such a manner as to produce an AC voltage on the output line. Inverters generally provide either a single-phase or three-phase output. A single-phase inverter changes a DC voltage to a single phase AC sinusoidal voltage waveform which has a selected magnitude and frequency. A three-phase inverter has three output lines, and changes a DC voltage into three separate AC sinusoidal voltage waveforms having the same magnitude and frequency but being 120.degree. out of phase.
One method for controlling an inverter is commonly referred to as programmed control. An inverter will typically include a plurality of switches used to switch the output line(s) between a positive and negative DC voltage. The programmed controller stores a predetermined switching pattern in memory. The predetermined switching pattern is then translated into respective gating signals which are applied to the inverter switches when required.
A particular type of programmed control is pulse width modulation (PWM) control and, in particular, harmonic elimination PWM control. As is known, the switching of the output lines between the DC voltages in the inverter often will generate undesirable harmonics in the inverter output. Harmonic elimination PWM control is a theoretical technique for eliminating undesirable harmonics from the output of the inverter. The specific switching patterns for the inverter switches are precalculated using known algorithms, and selected harmonics may be eliminated from the inverter output as a result. For example, the elimination of seven or more of the non-triplen harmonics (i.e., 5th, 7th, 11th, etc.) results in an inverter output with low switching losses and an output waveform having low harmonic content. A detailed description of PWM control is found in Enjeti, et al., "Programmed PWM Techniques to Eliminate Harmonics: A Critical Evaluation", IEEE Trans, on Ind. App., Vol. 26, No. 2 (March/April 1990), and in Patel, et al., "Generalized Techniques of Harmonic Elimination . . .", IEEE Trans. on Ind. App., Vol. IA-9, No. 3 (May/June 1973) (Part I) and Vol. IA-10, No. 5 (Sept./Oct. 1974) (Part II), the entire disclosures of which are incorporated herein by reference.
When using programmed PWM control, it is necessary to translate the precalculated switching instants into gating signals for the respective inverter switches as is described in the aforementioned "Programmed PWM Techniques . . ." article. Typically, one cycle of gating signals, i.e., from 0.degree. to 360.degree., is divided into discrete time intervals based on the desired resolution. Thus, for example, if the output frequency of the inverter is 60 Hz, then each cycle of gating signals would take 16.67 milliseconds (ms). If the desired resolution is 0.0216.degree., each cycle of gating signals must be divided into 16670 discrete time intervals of 1 microsecond (us) duration. The state ("on" or "off") of the respective inverter switches during each of these time intervals is stored as a gating signal in the memory of the PWM controller. After each discrete time interval (e.g., 1 .mu.s), a microprocessor included in the PWM controller updates the inverter switch states using the corresponding gating signal data stored in the memory. An example of such a PWM controller is described with respect to FIG. 14 in the above-mentioned "Programmed PWM Techniques . . ." article.
Despite the many advantages of programmed PWM controllers for operating an inverter, there are several drawbacks associated with the aforementioned PWM controllers. In particular, PWM controllers of the foregoing described type generally require large amounts of memory space and microprocessor time. In the example described above having a desired resolution of 0.0216.degree., 16,670 memory locations are required to store the gating signals describing the states of the inverter switches corresponding to each discrete time interval. Such a sequence of gating signals and related data is referred to herein as the PWM sequence. Moreover, because the microprocessor may be required to update the gating signal after each time interval, the microprocessor typically spends the majority of its computation time servicing the PWM controller. Thus, the microprocessor typically must be dedicated solely for use with the PWM controller.
Still another drawback associated with existing PWM controllers is that the microprocessor limits the resolution available from the PWM controller. More particularly, the microprocessor is limited with respect to how quickly it can retrieve and update the gating signals in the PWM sequence. If, for example, the microprocessor can update the gating signals no faster than every 15 .mu.s, the resolution of the PWM controller is limited to 15 .mu.s. Since the rate at which the PWM inverter controller can update the gating signals is directly proportional to the inverter output frequency, the inverter output frequency is thus limited by the performance limitations of the microprocessor.
As a result, commercially suitable PWM controllers typically require a large amount of memory, require a dedicated microprocessor, and are substantially limited in available resolution by the microprocessor. Moreover, these PWM controllers generally include complex circuitry and are expensive to manufacture.
Commercially, there is a strong need for a PWM controller which does not require an extensive amount of memory storage, which does not require a microprocessor to access the programmed gating signals from memory, and which can provide resolution as high as 320 nanoseconds. Furthermore, there is a strong commercial need for a PWM controller which is simple, inexpensive, and smaller in size than the foregoing described PWM controllers.
With respect to a PWM controller which includes a microprocessor, there is a strong need in the art for a PWM controller having a microprocessor whose computational burden is substantially reduced as compared to existing PWM controllers (i.e., reduced to less than 5% of previous requirements). As a result, a slower microprocessor can be used in the PWM controller to achieve the same output frequency. Alternatively, the same microprocessor used in an existing PWM controller would be free to handle other computational/control matters in a system (e.g., voltage or current regulation for the inverter, status displays, etc.).